DROP TABLE IF EXISTS jms_ods.yl_oms_pick_bill ;
CREATE EXTERNAL TABLE jms_ods.yl_oms_pick_bill
(
  id                        bigint comment '主键'   -- NUMBER(20) not null,
  ,waybill_no                string comment '运单号'   --NVARCHAR2(60) not null,
  ,fee_type_code             string comment '费用类型编码 底价发件费（S0320） 寄件提成账单(S0510)'   -- VARCHAR2(30),
  ,pick_network_code         string comment '寄件网点编码'   -- NVARCHAR2(30) not null,
  ,pick_network_name         string comment '寄件网点名称'   -- NVARCHAR2(60) not null,
  ,pick_finance_code         string comment '寄件网点财务中心编码'   -- NVARCHAR2(30) not null,
  ,pick_finance_name         string comment '寄件网点财务中心名称'   -- NVARCHAR2(60) not null,
  ,pick_franchisee_code      string comment '寄件加盟商编码'   -- NVARCHAR2(60),
  ,pick_franchisee_name      string comment '寄件加盟商名称'   -- NVARCHAR2(60),
  ,collect_staff_code        string comment '揽件员编码'   -- NVARCHAR2(30) not null,
  ,collect_staff_name        string comment '揽件员名称'   -- NVARCHAR2(60),
  ,collect_staff_type        smallint comment '揽件员类型' -- NUMBER(1) not null,
  ,product_type_code         string comment '产品类型编码'   -- NVARCHAR2(30),
  ,product_type_name         string comment '产品类型名称'   -- NVARCHAR2(60),
  ,transport_type_code       string comment '运输方式编码'   -- NVARCHAR2(30) not null,
  ,transport_type_name       string comment '运输方式名称'   -- NVARCHAR2(60) not null,
  ,service_method_code       string comment '服务方式编码, 取运单的派件方式'   -- NVARCHAR2(30),
  ,service_method_name       string comment '服务方式名称, 取运单的派件方式'   -- NVARCHAR2(60),
  ,destination_code          string comment '目的地编码'   -- NVARCHAR2(30),
  ,destination_name          string comment '目的地名称'   -- NVARCHAR2(60),
  ,settlement_code           string comment '结算方式编码'   -- NVARCHAR2(30) not null,
  ,settlement_name           string comment '结算方式名称'   -- NVARCHAR2(60) not null,
  ,customer_id               bigint comment '客户Id'   -- NUMBER(11),
  ,customer_code             string comment '客户编码'   -- NVARCHAR2(30),
  ,customer_name             string comment '客户名称'   -- NVARCHAR2(60),
  ,market_staff_code         string comment '市场业务员编码'   -- NVARCHAR2(30),
  ,market_staff_name         string comment '市场业务员名称'   -- NVARCHAR2(60),
  ,remarks                   string comment '备注'   -- NVARCHAR2(50) default '',
  ,total_freight             double comment '客户总运费, 取运单总运费'   -- NUMBER(14,2) default '0.00',
  ,receive_pay_fee           double comment '到付费'   -- NUMBER(14,2) default '0.00',
  ,is_sign                   smallint comment '签收标识, 0: 未签收, 1: 已签收' -- NUMBER(1) default 0,
  ,charge_weight             double comment '计费重量, 默认取运单包裹内部计费重量'   -- NUMBER(14,2) default '0.00',
  ,weight_source             smallint comment '重量来源, 1:入仓重量 2:收件重量 3:内部计费重量 4:订单重量 5:批量刷新重量, 默认为:1' -- NUMBER(1) default 1,
  ,settle_weight             double comment '结算重量'   -- NUMBER(14,2) default '0.00',
  ,input_time                timestamp comment '运单录入时间'   -- DATE not null,
  ,delivery_time             timestamp comment '寄件时间'   -- DATE,
  ,sign_time                 timestamp comment '签收时间'   -- DATE,
  ,quote_cal_type            smallint comment '账单报价算费类型' -- NUMBER(1),
  ,bill_amount               double comment '算费结果, 账单金额'   -- NUMBER(14,2) default '0.00',
  ,cal_fail_code             smallint comment '算费失败CODE' -- NUMBER(4),
  ,cal_fail_desc             string comment '算费失败描述'   -- NVARCHAR2(200) default '',
  ,ibk_deal_amount           double comment '预付款交易金额'   -- NUMBER(14,2) default '0.00',
  ,ibk_deal_fail_desc        string comment '预付款处理失败描述'   -- NVARCHAR2(200),
  ,receive_ibk_deal_amount   double comment '到付费交易金额'   -- NUMBER(14,2) default '0.00',
  ,is_verifier               smallint comment '是否已经审核标识, 0:未审核, 1: 已审核' -- NUMBER(1) default 0,
  ,verifier_name             string comment '审核人code/审核人名称'   -- NVARCHAR2(200),
  ,verifier_time             timestamp comment '审核时间'   -- DATE,
  ,waybill_mq_send_timestamp bigint comment '运单 mq 消息发送时间戳'   -- NUMBER(20) default 0,
  ,create_time               timestamp comment '创建时间'   -- DATE default sysdate,
  ,update_by_name            string comment '最后修改人code/最后修改人名称'   -- NVARCHAR2(50),
  ,update_time               timestamp comment '最后更新时间'   -- DATE,
  ,version                   bigint comment '乐观锁版本号'   -- NUMBER(11) default 0,
  ,receive_ibk_deal_desc     string comment '到付费交易金额处理描述'   -- NVARCHAR2(200),
  ,cal_version               bigint comment '算费版本,用于算费并发控制'   -- NUMBER(20) default 0,
  ,receiver_province_id      bigint comment '收件省份id'   -- NUMBER(11),
  ,receiver_province_name    string comment '收件省份名称'   -- NVARCHAR2(60),
  ,receiver_city_id          bigint comment '收件城市id'   -- NUMBER(11),
  ,receiver_city_name        string comment '收件城市名称'   -- NVARCHAR2(60),
  ,receiver_area_id          bigint comment '收件区域id'   -- NUMBER(11),
  ,receiver_area_name        string comment '收件区域名称'   -- NVARCHAR2(60)
)
COMMENT  '寄件账单表'
PARTITIONED BY (dt STRING COMMENT '时间分区')
STORED AS PARQUET
LOCATION '/dw/hive/jms_ods.db/external/yl_oms_pick_bill'
TBLPROPERTIES (
    'discover.partitions' = 'false',
    'parquet.column.index.access' = 'true'
    );

MSCK REPAIR TABLE jms_ods.yl_oms_pick_bill;